StupidBeauty
Read times:2541Posted at:Tue Mar 29 00:34:45 2011
- no title specified

Qt Jambi 4.4文档翻译:安装Qt Jambi,Installing Qt Jambi

Qt Jambi可在Linux、Mac OS X 和Windows 上以预编译或者源代码软件包的方式获得。要安装Qt Jambi ,需要有Java 1.5 或者更高版。

取决于你是下载咯一个预编译软件包还是一个源代码包,这个安装过程是不同的。这个安装向导分小节来说明两种不同的方法。

希望你喜欢!

内容目录

Qt Jambi 4.4文档翻译:安装Qt Jambi,Installing Qt Jambi

安装一个预编译包

手动运行Qt Jambi 程序

其它的载入原始库的方法

用源代碼編译Qt Jambi

为Qt Jambi而配置系统

為Qt Jambi而构建 Qt

设置环境

构建Qt Jambi

排除问题

常见问题

与载入相关的问题

与平台相关的注意事项

运行Qt 设计师

运行Qt Jambi 生成器

安装一个预编译包

解压缩咯软件包之后,你就可以运行启动器 (Launcher)咯,它是一个用来启动Qt Jambi 自带的示例和演示程序的程序。

要在 Windows 上运行示例和演示程序启动器,就运行这个:

qtjambi.exe

在Linux 和Mac OS X 上运行这个

qtjambi.sh

运行这些文件将会验证虚拟机的版本并且为Qt Jambi 程序的运行而设置正确的环境。

当你准备发布你自己的程序时,就去查看 部署 文档。

手动运行Qt Jambi 程序

要手动启动那些程序,你需要在你的类路径(classpath)里包含以下 .jar 文件:

  • •. qtjambi-4.4.0_01.jar,其中包含咯那些Jambi 类

  • •.与平台相关的包,其中包含咯Qt Jambi 使用的本地 (native) 。这 个包是以操作系统及用来构建这些库的编译器的名字来命名的 ;例如,针对Windows 和MSVC 2005 ,就是 qtjambi-win32-msvc2005-4.4.0_01.jar

  • •.要运行那些示例或者启动器本身,类路径还必须包含qtjambi-examples-4.4.0_01.jar

3个文件都位于Qt Jambi 的安装目录里。下面针对每个操作系统给出一个例子:

// Linux

java -cp qtjambi-4.4.0_01.jar:qtjambi-linux32-gcc-4.4.0_01.jar:qtjambi-examples-4.4.0_01.jar com.trolltech.launcher.Launcher

// Mac OS X

java -XstartOnFirstThread -cp qtjambi-4.4.0_01.jar:qtjambi-macosx-gcc-4.4.0_01.jar:qtjambi-examples-4.4.0_01.jar com.trolltech.launcher.Launcher

// Windows

java -cp qtjambi-4.4.0_01.jar;qtjambi-win32-msvc2005-4.4.0_01.jar;qtjambi-examples-4.4.0_01.jar com.trolltech.launcher.Launcher

注意 在 Mac 上运行一个Qt Jambi 程序时 ,必须将 -XstartOnFirstThread 参数传递给Java 命令。

其它的载入原始库的方法

就像前面说的那样,Jambi从平台软件包(在它已经包含到类路径的情况下)里载入原始库

另外一种载入原始库的方法就是依赖Java 的标准载入方法。可通过下面2种方法之1来实现:指定JVM 系统属性 -Djava.library.path=[到库的路径]或者在以下环境变量中包含它们的路径

平台

说明

Windows

设置PATH 环境变量,使之包含Qt Jambi 目录下的bin 目录。

Linux

设置LD_LIBRARY_PATH 环境变量,使之包含Qt Jambi 目录下的lib 目录。

Mac OS X

设置DYLD_LIBRARY_PATH 环境变量,使之包含Qt Jambi 目录下的lib 目录。

注意,指向庫的路径需要是它些变量中的第一个路径。否則的話 ,Jambi可能会找到其它不兼容的版本的庫。例如,在 Linux 上 ,/usr/lib中的libQtCore.4.so 這个庫是默諗位于LD_LIBRARY_PATH 中的

Qt 的某些功能是通過原始插件載入的。這包括对JPEG 图片的支持。這些插件是放在Qt Jambi 的安装目彔里的 plugins 目彔里的

Qt Jambi从QT_PLUGIN_PATH 環境变量中的目彔里查找插件(在没有使用与平台相关的軟件包的情况下)。所以你应當将QT_PLUGIN_PATH 指向 plugins 目彔

然后你就可以运行Qt Jambi 程序咯。下面是手动运行启动器的示例:

java -cp qtjambi-4.4.0_01.jar:qtjambi-examples-4.4.0_01.jar com.trolltech.launcher.Launcher

用源代碼編Qt Jambi

這一小节講的是怎麽用源代碼來編译安装Qt Jambi。首先我 們说一说如何配置你的系统,再來講述使用命令行來編译Qt Jambi 的過程 。最后,我 們看看一些常见的安装問題。

注意Qt Jambi 源代碼包也依賴Qt 源代碼包。为咯避免可能存在的二遘制不兼容的問題 ,我 們强烈建议你在編译Qt Jambi 之前重新編译Qt。在 Mac OS X 上 Qt必須配置成不使用框架(frameworks) (在运行 configure 脚本時指定--no-framework選項)

为Qt Jambi而配置系统

除咯Qt 源代碼之外,你還需要JDK 1.5 或更高版以及构建工具 ant

為Qt Jambi而构建 Qt

第一步就是为Qt Jambi 而构建Qt。一般地 ,按常規方法來构建Qt 就可以工作,但是也有一些例外 。对于在任何给定的系统中构建Qt 的细节 ,可以去看Qt 的安装向导。

平台情况

注意事项

全部

使用-D QT_JAMBI_BUILD选项可以在Qt 中为Qt Jambi 而开启或关闭某些特性。Qt Jambi也不需要Qt 3 的支持库 所以建议使用-no-qt3support参数來编译

Mac OS X

Qt Jambi只支持使用-no-framework参数配置过的Qt,并且由于兼容性的原因建议以 10.4 SDK 为目标来配置Qt -sdk /Developer/SDKs/MacOSX10.4u.sdk

Linux

Sun的Java虚擬机有个问题,使得它不能使用MMX 和SSE 指 令。当你要将程序与1.5 版本的Java 运行时环境一起部署时 ,使用这些参数 -no-mmx -no-sse -no-sse2 -no-3dnow 来配置Qt 以避免问题。另外,由于Qt Jambi要求Qt 的头文件和库都放置在相对于QTDIR 的位置,Qt应当以参数-prefix $PWD来配置,此时并没有安装。

Windows (MSVC 2005或更新版)

为咯让插件能正常地载入 ,需要-plugin-manifests参数。

设置环境

下面的表格描述咯安装Qt Jambi 时必要的环境变量

QTDIR

这个变量必须包含已安装的Qt 的目录路径。

JAVA_HOME

这个变量必须包含已安装的 Java 的目录路径。

构建Qt Jambi

Qt Jambi提供咯一个ant 任务,它将处理在构建Qt Jambi 库时的所有任务 。要想从头开始构建Qt Jambi ,就在Jambi 的安装目录里运行ant ,不带任何参数。

> ant

在 Qt Jambi 的目录里。请注意,Qt Jambi需要ant ant-trax 模块,而这个模块在某些linux 发行版里是可选的 。运行 ant 会自动进行以下步骤:

  • •.编译Qt Jambi 生成器

  • •.根据由$QTDIR指定的Qt 来生成Qt Jambi 库

  • •.编译Juic 工具

  • •.编译并且打包那些原始库

  • •.编译并且打包那些类库

  • •.针对那些示例运行Juic

  • •.编译并且打包那些示例

要想看到在ant 构建过程中的那些子目标的描述,你可以这样做:

> ant -projecthelp

要想看到那些在构建过程中的配置信息的描述,你可以这样做

> ant help

排除问题

如果你在编译和运行Qt Jambi 的时候有甚麽问题,可以看看我们准备的一个常见问题列表。这个表格应当足够解决大部分问题;如果还是不行的话 ,试试找个砖家问问。可以先看看Jambi 常见问题列表 。在Jambi 邮件列表上 ,可以向活跃的Jambi 用户和Jambi 开发团队询问关于安装的问题;如果Qt Jambi 在载入原始库的时候失败咯 ,那么 请设置好 com.trolltech.qt.verbose-loading 这个 系统属性 再运行Qt Jambi ,以便给出调用栈的跟踪报告。

常见问题

在这一小节,我们试着收集在构建Qt Jambi 时的常见问题 。它们都列在一个表格中 ,一列是问题的描述,另一列是解决方法。

问题

解决方法

在 Linux 上 gcj (GNU 的Java 编译器) 位于 /usr/bin ;指向正确的java 版本的路径必须在PATH 中位于这个之前 。这个问题通常引起 java.lang.ClassFormatError 错误

确保在PATH 中的是正确的java 可执行程序。

环境变量设置不正确。

对照着 Qt Jambi 而配置系统小节,检查一下你的系统是否已经为Jambi 而做咯正确的设置。

Qt Jambi使用Qt 头文件来生成从c++到java 的映射。除非是以默认设置来构建Qt 的 ,否则你将可能在绑定原始库以外的库的时候遇到链接错误。

以默认设置来构建Qt

juic不会更新那些没有修改过的.jui文件,这在Java 源代码被删除时可能导致问题

带着-a选项来运行juic。

Qt Jambi预期Qt 是在关掉调试信息的情况下编译的。如果在构建Qt的时候打开咯调试选项,那么就找不到库

在设置咯com.trolltech.qt.debug 这个系统属性的情况下运行Qt Jambi

Qt Jambi试图使用错误的编译器

在Windows 系统中,当MSVC 和MinGW 编译器都安装咯的时候,可能发生这个错误。你可以设置QMAKESPEC 变量。请参考qmake 文档 以了解细节。

与载入相关的问题

如果Jambi 没能找到那些原始库,那么你会遇到 java.lang.UnsatisfiedLinkError 或者其它与载入相关的错误。我们在下面列出查找路径。它们是按照Jambi 查找库的顺序列出来的

  • •.com.trolltech.qt.library-path 这个系统属性

  • •.类路径(包括jar 文件)。

  • •.Jambi 软件包结构的根目录(即 Qt Jambi 的安装目录 下的lib (Mac OS X和Linux)或者 bin (Windows)子目录。

  • •.java.library.path 这个系统属性,在Linux上 被设置为LD_LIBRARY_PATH,Windows 上是PATH,Mac OS X 上是DYLD_LIBRARY_PATH。

与平台相关的注意事项

我们现在快速地看一看特定平台的问题

平台

注意事项

Mac OS X

在运行一个Qt Jambi 程序时,必须将-XstartOnFirstThread参数传递给Java 可执行程序。另外,如果你使用的是源代码包,那么你必须用--no-framework选项来编译Qt

Linux/64位

安装一个32位的虚拟机,例如,在Ubuntu上,安装 ia32-sun-java5-bin 软件包并且将 /usr/lib/jvm/ia32-java-1.5.0-sun-1.5.0.06/jre/bin 添加到 PATH 环境变量中

运行Qt 设计师

Qt 设计师是一个用于设计和构建用户界面的可视化工具。如果你使用的是预编译的软件包,那么你可以使用 designer.bat 或者 designer.sh 脚本来从命令行启动它 Eclipse整合 会自动处理设计师的相关事项

你可以在Qt设计师文档中找到更多信息。

运行Qt Jambi 生成器

生成器是一个Qt程序,它可以用来将基于C++的Qt API映射到等价的Java API。Qt Jambi软件包中提供咯一个关于如何使用Qt Jambi生成器的示例,放在 到/Qt Jambi/的路径/generator_example 目录中

要从源代码包中构建那个生成器示例,只需要简单地这样做:

ant -f build_generator_example.xml

警告 Qt Jambi 生成器是用来处理基于Qt 的源代码的 ,不适合于对普通的C++库进行映射

Your opinions
Your name:Email:Website url:Opinion content:
- no title specified

HxLauncher: Launch Android applications by voice commands